import axios from 'axios';
import nprogress from 'nprogress';
import 'nprogress/nprogress.css';
// 引入vuex的仓库模块---为了先执行
import store from '@/store';
const instance = axios.create({
    baseURL: '/api',
    timeout: 2000,
});
// 请求拦截器
instance.interceptors.request.use((config)=>{
    // 测试的话可以先打印一下仓库
    // console.log(store)
    if(store.state.shopcart.userTempId){
        config.headers.userTempId = store.state.shopcart.userTempId;
    }
    //用户身份token
    if(store.state.user.token){
        //请求头的这个属性token，和后台老师商量好的了，不能叫做别的名字
        config.headers.token = store.state.user.token;
    }
    // 设置进度条开始
    nprogress.start();
    return config
})

// 响应拦截器
instance.interceptors.response.use((response)=>{
    // 设置进度条结束
    nprogress.done();
    return response.data
},(error)=>{
    return Promise.reject(error)
});

//对外暴露二次封装的axios
export default instance;